/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controlador;

/**
 *
 * @author Fabian
 */
import connection.Connection;
import dao.FacultadJpaController;
import dao.ProfesorJpaController;

import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.component.html.HtmlDataTable;
import javax.faces.context.FacesContext;
import javax.persistence.EntityManagerFactory;
import modelo.Facultad;
import modelo.Profesor;


@ManagedBean(name="ControladorProfesor")
@SessionScoped
public class ControladorProfesor extends Connection{
     
    public EntityManagerFactory factory;
    private Profesor profesor;
    public List<Profesor> listaProfesor;
    private  HtmlDataTable tabla;
    
    private String txtNombre;
    private String txtCargo;
    private String txtDireccion;
    private String txtCelular;
    private String txtCedula;
    private String txtEMail;
    private String txtFacultad;
    private String txtTelefono;
    
    public ControladorProfesor(){}
    
     public HtmlDataTable getTablaProfesor() {
    return tabla;
  }

  public void setTablaProfesor(HtmlDataTable tabla) {
    this.tabla = tabla;
  }
  
  public void editarProfesor(){
      
  Profesor profe= getProfesor();
 factory=Connection.getEmf(); 
 ProfesorJpaController daoProfesor= new ProfesorJpaController(factory);
 Profesor prof= daoProfesor.findProfesor(profe.getCedula());
 prof.setNombre(profe.getNombre());
 prof.setCargo(profe.getCargo());
 prof.setCelular(profe.getCelular());
 prof.setDireccion(profe.getDireccion());
 prof.setEMail(profe.getEMail());
 FacultadJpaController daoFacultad= new FacultadJpaController(this.factory);
 Facultad facultad=daoFacultad.findFacultad(profe.getFacultad().getNombre());
 prof.setFacultad(facultad);
 prof.setTelefono(profe.getTelefono());
        try {
            daoProfesor.edit(prof);
       }  catch (Exception ex) {
            Logger.getLogger(Controlador.class.getName()).log(Level.SEVERE, null, ex);
        }
}
  
  public void crearProfesor(){
    factory=Connection.getEmf(); 
    ProfesorJpaController daoProfesor= new ProfesorJpaController(factory);
 Profesor prof= new Profesor();
 prof.setCedula(txtCedula);
 prof.setNombre(txtNombre);
 prof.setCargo(txtCargo);
 prof.setCelular(txtCelular);
 prof.setDireccion(txtDireccion);
 prof.setEMail(txtEMail);
 FacultadJpaController daoFacultad= new FacultadJpaController(this.factory);
 Facultad facultad=daoFacultad.findFacultad(txtFacultad);
 prof.setFacultad(facultad);
 prof.setTelefono(txtTelefono);
        try {
            daoProfesor.create(prof);
        }  catch (Exception ex) {
            Logger.getLogger(Controlador.class.getName()).log(Level.SEVERE, null, ex);
        }  
  
  }  

   public List<Profesor> getListaProfesor() {
        return listaProfesor;
    }

    public void setListaProfesor(List<Profesor> listaProfesor) {
        this.listaProfesor = listaProfesor;
    }
    
    public void cargarTablaProfesor(){
    factory=Connection.getEmf(); 
    ProfesorJpaController daoProfesor= new ProfesorJpaController(factory);
    
    setListaProfesor(daoProfesor.findProfesorEntities());    
    }
    
    public void cargarDatos(){
    factory=Connection.getEmf(); 
    ProfesorJpaController daoProfesor= new ProfesorJpaController(factory);
    Controlador controla= (Controlador)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("Controlador");
    String Aux= controla.getLogin();
        Profesor p=daoProfesor.findProfesor(Aux);  
        setProfesor(p);     
    }
    
     public String getTxtNombre() {
        return txtNombre;
    }

    public void setTxtNombre(String txtNombre) {
        this.txtNombre = txtNombre;
    }

    public String getTxtCargo() {
        return txtCargo;
    }

    public void setTxtCargo(String txtCargo) {
        this.txtCargo = txtCargo;
    }

    public String getTxtTelefono() {
        return txtTelefono;
    }

    public void setTxtTelefono(String txtTelefono) {
        this.txtTelefono = txtTelefono;
    }
    public String getTxtDireccion() {
        return txtDireccion;
    }

    public void setTxtDireccion(String txtDireccion) {
        this.txtDireccion = txtDireccion;
    }

    public String getTxtCelular() {
        return txtCelular;
    }

    public void setTxtCelular(String txtCelular) {
        this.txtCelular = txtCelular;
    }

    public String getTxtCedula() {
        return txtCedula;
    }

    public void setTxtCedula(String txtCedula) {
        this.txtCedula = txtCedula;
    }

    public String getTxtEMail() {
        return txtEMail;
    }

    public void setTxtEMail(String txtEMail) {
        this.txtEMail = txtEMail;
    }

    public String getTxtFacultad() {
        return txtFacultad;
    }

    public void setTxtFacultad(String txtFacultad) {
        this.txtFacultad = txtFacultad;
    }

    public Profesor getProfesor() {
        return profesor;
    }

    public void setProfesor(Profesor profesor) {
        this.profesor = profesor;
    }
        
}
